技術問答
技術文章
iT 徵才
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
16
0
Software Development
FooTinder App - 美食餐廳 x 推薦地圖
系列 第
16
篇
Day 16, [軟體開發] 重構,Refactor
15th鐵人賽
Jian-Min (Vincent) Huang
2023-10-01 14:26:42
416 瀏覽
分享至
重構 aka 拆家
我們先來對焦 context 一下,重構跟拆家基本上是一體兩面
沒有測試保護的重構不叫做重構,就做拆家
It's dirty, but it works!
這句話不是要跟我們說所以就不要動,而是說明一件事
如果沒寫測試但已經跑在正式環境運行正常,那代表現在就是在正式環境上測試
直接貿然重構等於是在把一塊一塊磚頭敲下來,讓正式環境的用戶幫你測試,是不是很像拆家
所以如果完全沒有測試保護,那就要先補測試,細的依賴較少用單元測試,粗的依賴較多用整合測試
重構也是一樣,小增量、多迭代、快回饋
寫測試 -> 重構 -> 修正 -> 反覆迭代 -> 上正式環境得到回饋
FooTinder 重構過嗎?
後端前前後後應該大重構了三四次
但是因為保證了與前端 HTTP 的協定,加上有整合測試保護
不能說沒出錯,不過都能很快的修正,沒釀出更大的錯誤
✌️ 那麼第十六天到這邊囉,明天來講 -> 運營中的用戶活躍
相關資訊
$_purefunc 純函式公司
FooTinder App站
FooTinder 官網
FooTinder App 下載連結
留言
追蹤
檢舉
上一篇
Day 15, [產品開發] 商業報表與監測
下一篇
Day 17, [產品開發] 運營中的用戶活躍
系列文
FooTinder App - 美食餐廳 x 推薦地圖
共
30
篇
目錄
RSS系列文
訂閱系列文
16
人訂閱
26
Day 26, [產品開發] 運營之收入與推薦
27
Day 27, [軟體開發] 上雲下地入K8 (11/26)
28
Day 28, [產品開發] 定義成功 (11/26)
29
Day 29, [軟體開發] 運維成本 (11/26)
30
Day 30, 總結 (11/26)
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19850
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
關於最近的釣魚信件
SSLVPN 轉 IPSEC VPN 的問題
Qnap帳號於同一個IP反覆登入失敗.
資產管理紀錄表單請教
Diffusion Pipeline 同時多筆請求會 index out of bounds,有無可同時處理多筆的作法?
不懂Modelfile的Template要怎麼寫...
熱門回答
Qnap帳號於同一個IP反覆登入失敗.
關於最近的釣魚信件
資產管理紀錄表單請教
SSLVPN 轉 IPSEC VPN 的問題
不懂Modelfile的Template要怎麼寫...
熱門文章
你的產品用了多少開源軟體?如何掌握潛在漏洞與風險?
Spring Boot 安全認證 — JWT 及 OAuth2 認證 (發文被切掉,補充
AI脈搏:首屆代理驅動的網路購物週
前端框架 Vue、React的虛擬DOM (Virtual DOM)分身模擬機制。
iReport教學:打造專業級PDF、Excel報表
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}